[1] 3
Reproduzierbare Forschung
mit R und Quarto – Praktischer Teil
Workshop für die GSE Wuppertal
June 27, 2025
Basierend auf markdown:
## Formatierung
*italic* **bold** ~~strikeout~~ `code`
superscript^2^ subscript~2~
[underline]{.underline} [small caps]{.smallcaps}
## Überschriften
# Erste Ebene
## Zweite Ebene
### Dritte Ebene
## Listen
- Punkt 1 einer Liste
- Punkt 2
- Punkt 2a
- Punkt 2b
1. Nummerierte Liste Punkt 1
2. Punkt 2.
Die Zahlen der Liste werden automatisch angepasst.
## Quotes
> Gutes Zitat hier.Verschiedene Optionen können in den Code Chunks verwendet werden:
r oder python in Backticks geschrieben:Ergibt:
Der Mittelwert der ganzen Zahlen von 1 bis 5 ist 3.
Zeit zum Üben!
aufgabe_01.qmd herunter oder erstellen Sie eine neue Quarto-Datei.data("USArrests").data("USArrests")
library(ggplot2)
ggplot(USArrests, aes(x = UrbanPop, y = Murder, color = Assault)) +
geom_point(size = 3, alpha = 0.8) +
scale_color_gradient(low = "#56B1F7", high = "#132B43") +
labs(
title = "Zusammenhang zwischen Urbanisierung und Mordrate",
subtitle = "USArrests Datensatz (1973)",
x = "Anteil Stadtbevölkerung (%)",
y = "Mordrate pro 100.000 Einwohner",
color = "Anzahl\nAssault"
) +
theme_minimal(base_size = 14)| Bundesstaat | Mordrate | UrbanPop | Assault |
|---|---|---|---|
| Alabama | 13.2 | 58.0 | 236.0 |
| Alaska | 10.0 | 48.0 | 263.0 |
| ————- | ———- | ———- | ——— |
kable, gt, flextable oder pander.kable:data("USArrests")
library(knitr)
kable(head(USArrests), caption = "Erste 6 Zeilen des USArrests Datensatzes") | Murder | Assault | UrbanPop | Rape | |
|---|---|---|---|---|
| Alabama | 13.2 | 236 | 58 | 21.2 |
| Alaska | 10.0 | 263 | 48 | 44.5 |
| Arizona | 8.1 | 294 | 80 | 31.0 |
| Arkansas | 8.8 | 190 | 50 | 19.5 |
| California | 9.0 | 276 | 91 | 40.6 |
| Colorado | 7.9 | 204 | 78 | 38.7 |
gt und gtExtras:::: fragment
| USArrests | ||||||
|---|---|---|---|---|---|---|
| 50 rows x 4 cols | ||||||
| Column | Plot Overview | Missing | Mean | Median | SD | |
| Murder | 0.0% | 7.8 | 7.2 | 4.4 | ||
| Assault | 0.0% | 170.8 | 159.0 | 83.3 | ||
| UrbanPop | 0.0% | 65.5 | 66.0 | 14.5 | ||
| Rape | 0.0% | 21.2 | 20.1 | 9.4 | ||
flextable für eine APA-konforme Tabelle:aufgabe_02.qmd herunter.referenzen.bib. Dies müssen wir im YAML-Header angeben:[@wickham2016] → (Wickham, 2016)@wickham2016 → Wickham (2016)[@wickham2016; @r2023] → (Wickham, 2016; R Core Team, 2023)Eine typische referenzen.bib Datei sieht so aus:
@book{wickham2016,
title = {R for Data Science},
author = {Hadley Wickham and Garrett Grolemund},
year = {2016},
publisher = {O'Reilly Media},
isbn = {978-1491910399}
}
@manual{r2023,
title = {R: A Language and Environment for Statistical Computing},
author = {{R Core Team}},
organization = {R Foundation for Statistical Computing},
address = {Vienna, Austria},
year = {2023},
url = {https://www.R-project.org/}
}| Syntax | Ausgabe | Verwendung |
|---|---|---|
[@autor2023] |
(Autor, 2023) | Normale Klammerzitate |
@autor2023 |
Autor (2023) | Autor als Teil des Satzes |
[@autor2023, S. 15] |
(Autor, 2023, S. 15) | Mit Seitenzahl |
[-@autor2023] |
(2023) | Nur Jahr, ohne Autor |
[@autor2023; @autor2024] |
(Autor, 2023, 2024) | Mehrere Quellen |
Manuell in der BibTeX-Datei: - Direkt in referenzen.bib editieren - Google Scholar: “Zitieren” → “BibTeX” kopieren (und DOI hinzufügen)
Zotero Integration: - Better BibTeX Plugin installieren - Auto-Export zu .bib Datei - Sync zwischen Zotero und Quarto
RStudio Visual Editor: - Insert → Citation - Automatisches Hinzufügen zur .bib Datei
data("USArrests")
# Bootstrap durchführen, um Konfidenzintervall einer Regression zu schätzen
n_boot <- 1000
bootstrap_results <- numeric(n_boot)
# Bootstrap durchführen und Zeit messen
system.time({
for(i in 1:n_boot) {
# Zufälliges Sampling mit Zurücklegen
boot_sample <- sample(nrow(USArrests), replace = TRUE)
boot_data <- USArrests[boot_sample, ]
boot_model <- lm(Murder ~ UrbanPop, data = boot_data)
# Extrahieren der Slope
bootstrap_results[i] <- coef(boot_model)[2]
}
})
# Konfidenzintervall berechnen
ci_lower <- quantile(bootstrap_results, 0.025)
ci_upper <- quantile(bootstrap_results, 0.975) aufgabe_03.qmd.Hier kann man den R Code einfügen:
Siehe @fig-scatter für den Zusammenhang
zwischen städtischer Bevölkerung und
Mordrate.
```{r}
#| label: fig-scatter
#| fig-cap: "Städtische Bevölkerung vs Mordrate"
data("USArrests")
plot(USArrests$UrbanPop, USArrests$Murder)
```
Wie in @tbl-summary gezeigt, beträgt
die mittlere Mordrate 7.8.
```{r}
#| label: tbl-summary
#| tbl-cap: "Zusammenfassende Statistiken"
kable(summary(USArrests$Murder))
```
Die Analyse in @sec-methods
erklärt unser Vorgehen.
## Methoden {#sec-methods}
:::Vorteile:
::: {.content-visible when-format="html"}
Dies ist nur im HTML-Format sichtbar.
[Interaktives Widget hier]
:::
::: {.content-visible when-format="pdf"}
Dies ist nur im PDF-Format sichtbar.
Statische Darstellung hier.
:::
::: {.content-hidden when-format="revealjs"}
Dies ist nicht im Reveal.js Format sichtbar.
:::R version 4.5.0 (2025-04-11 ucrt)
Platform: x86_64-w64-mingw32/x64
locale: LC_COLLATE=German_Germany.utf8, LC_CTYPE=German_Germany.utf8, LC_MONETARY=German_Germany.utf8, LC_NUMERIC=C and LC_TIME=German_Germany.utf8
attached base packages: stats, graphics, grDevices, utils, datasets, methods and base
other attached packages: gtExtras(v.0.6.0), gt(v.1.0.0), knitr(v.1.50) and ggplot2(v.3.5.2.9001)
loaded via a namespace (and not attached): Matrix(v.1.7-3), gtable(v.0.3.6), jsonlite(v.2.0.0), rematch2(v.2.1.2), dplyr(v.1.1.4), compiler(v.4.5.0), Rcpp(v.1.0.14), tidyselect(v.1.2.1), xml2(v.1.3.8), dichromat(v.2.0-0.1), tidyr(v.1.3.1), textshaping(v.1.0.0), systemfonts(v.1.2.2), splines(v.4.5.0), scales(v.1.4.0), yaml(v.2.3.10), fastmap(v.1.2.0), lattice(v.0.22-7), paletteer(v.1.6.0), R6(v.2.6.1), labeling(v.0.4.3), generics(v.0.1.3), tibble(v.3.2.1), pander(v.0.6.6), svglite(v.2.1.3), pillar(v.1.10.2), RColorBrewer(v.1.1-3), rlang(v.1.1.6), xfun(v.0.52), sass(v.0.4.10), S7(v.0.2.0), cli(v.3.6.5), withr(v.3.0.2), magrittr(v.2.0.3), mgcv(v.1.9-3), digest(v.0.6.37), grid(v.4.5.0), fontawesome(v.0.5.3), lifecycle(v.1.0.4), nlme(v.3.1-168), vctrs(v.0.6.5), evaluate(v.1.0.3), glue(v.1.8.0), farver(v.2.1.2), ragg(v.1.4.0), purrr(v.1.0.4), rmarkdown(v.2.29), tools(v.4.5.0), pkgconfig(v.2.0.3) and htmltools(v.0.5.8.1)